package com.douqu.game;

import com.douqu.game.core.util.StringUtils;
import com.douqu.game.fileManager.ExcelUtils;

import java.io.File;
import java.util.regex.Pattern;

/**
 * @author: Gavin.
 * Description:
 * Date: 2018/4/25 0025 下午 6:36
 * Huan Yu Copyright (c) 2017 All Rights Reserved.
 */
public class GenerateConfig {

    //private static String inPath = "E:\\duanshuangquan\\xuqiu\\Config\\ConfigExcel";
    //private static String outPath = "E:\\duanshuangquan\\xuqiu\\Config\\ConfigTool\\ConfigRoot\\v\\Server";

    public static void main(String[] args) {
        //三个参数 第一个是必传的 第三个优先于第二个
        if (args == null){
            System.out.println("请传入参数 输入路径，输出路径");
        }

        if(StringUtils.isNullOrEmpty(args[0])){
            System.out.println("输入路径不能为空");
        }
        String inpath = args[0];
        System.out.println("inPuth：" + inpath);

        if (StringUtils.isNullOrEmpty(args[1])){
            System.out.println("输出路径不能为空");
        }

        String outPath = args[1];
        System.out.println("outPath" + outPath);
        //String value = "E:/duanshuangquan/xuqiu/Config/ConfigTool";
        //String inPath = args[0]+File.separator+".."+File.separator+"ConfigExcel";
        //删除旧的
        ExcelUtils.delPath(outPath);
        //生成新的
        File file = new File(inpath);
        File childFile = null;
        if (file.isDirectory()) {
            String[] children = file.list();
            for (int i = 0; i < children.length; i++) {
                childFile = new File(file, children[i]);
                if(childFile.getName().indexOf("Config") == -1){
                    continue;
                }

                if(!(childFile.getName().endsWith(ExcelUtils.OFFICE_EXCEL_2003_POSTFIX) || childFile.getName().endsWith(ExcelUtils.OFFICE_EXCEL_2010_POSTFIX)))
                {
                    continue;
                }

//                if(childFile.getName().indexOf("PlayerLv") != -1){
//                    System.out.println("123");
//                }

                if (childFile != null) {
                    try{
                        ExcelUtils.generateConfig(childFile.getAbsolutePath(), childFile.getName().substring(0, childFile.getName().lastIndexOf("Config")), outPath);
                    }catch (Exception e){
                        e.printStackTrace();
                        System.out.println(childFile.getName() + "转换 ------ 加密 ------ 异常");
                    }
                }
            }
        }
//        //测试
//        LoadTest.load(outPath);
//        java.util.List<String> errorList = DataFactory.getInstance().getErrorList();
//        if(errorList.size() > 0)
//        {
//            StringBuilder sb = new StringBuilder();
//            for(String s : errorList)
//            {
//                MainFrame.println(s);
//            }
//            System.out.println("测试不通过 ..........");
//        }
//        else
//        {
//            System.out.println("测试通过 ..........");
//        }
    }


    public static boolean isInteger(String str){
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
        return pattern.matcher(str).matches();
    }
}
